KURZUS: Programozás alapjai

MODUL: Apparátus

Minta vizsgasor

| 1. Döntse el az alábbi állításokról, hogy igazak-e!
Az előfeldolgozó feladata a tárgymodul előállítása. |
A long típusú változók nagyobb számok tárolását teszik lehetővé, mint a long int. |
Többirányú elágazás megvalósítható if-else utasításokkal. |
A logikai és művelet során a második operandus nem mindig kerül kiértékelésre. |
A globális errno változó vizsgálatával lehet kideríteni, mi okozta a malloc függvény futása során a hibát. |
Az strcat függvény nem ellenőrzi, hogy az eredmény karakterlánc el fog-e férni a neki szánt helyen. |
Ajánlott a függvénynek egy struktúra helyett a struktúrát címző mutatót átadni. |
A struktúra tagjait tartalmazó kapcsos zárójelpár után tilos pontosvesszőt tenni. |
8 pont
2. A mellek függvény a paraméterként átadott, statikusan allokált, N sorból és oszlopból álló kétdimenziós tömbben a mellékátló elemeit 1-re, az összes többit 0-ra állítja. A függvény hiányos. Jelölje meg azt a sort, amellyel helyesen fog működni a függvény! #define N 3 void mellek(double mtx[N][N]) { int i, j; for(i=0; i<N; i++) for(j=0; j<N; j++) /* Hiányzó sor. */
| mtx[i][j] = j==i-N-1 ? 1. : 0.; }
| mtx[i][j] = j==i-N ? 1. : 0.; }
| mtx[i][j] = j==i-N+1 ? 1. : 0.; }
| mtx[i][j] = j==N-1-i ? 1. : 0.; }
| mtx[i][j] = j==N-i ? 1. : 0.; }
| mtx[i][j] = j==N+1-i ? 1. : 0.; }
2 pont
3. Az msh függvény visszaadja a karakterlánc paraméterében lévő mássalhangzók számát. A függvény hiányos. Jelölje meg azt a sort, mellyel a függvény helyesen fog működni! #include<string.h> int msh(const char *s) { char b[] = "euioa"; int n=0; for(; *s; s++) /* Hiányzó sor. */ return n; }
| if(isalpha(s)&&strchr(b, s)) n++;
| if(isalpha(*s)&&strchr(b, *s)) n++;
| if(isalpha(s)&&strchr(*b, s)) n++;
| if(isalpha(*s)&&strchr(*b, *s)) n++;
| if(isalpha(s)&&!strchr(b, s)) n++;
| if(isalpha(*s)&&!strchr(b, *s)) n++;
| if(isalpha(s)&&!strchr(*b, s)) n++;
| if(isalpha(*s)&&!strchr(*b, *s)) n++;
2 pont
4. A lebege függvény ellenőrzi, hogy a paraméter karakterlánc való szám-e. A függvény hiányos. Jelölje meg azt a sort, mellyel a függvény helyesen fog működni! int lebege(char *s){ char *tmp; while(isspace(*s)) s++; if(*s=='+'||*s=='-') s++; tmp=s; while(isdigit(*s)) s++; if(*s=='.') s++; while(isdigit(*s)) s++; /* Hiányzó sor. */ if(*s=='E'||*s=='e'){ s++; if(*s=='+'||*s=='-') s++; if(!isdigit(*s))return 0; while(isdigit(*s)) s++;} if(!*s||isspace(*s))return(1); else return(0); }
| if((s==tmp||tmp+1==s)&&*tmp=='.')return 0;
| if(s==tmp||tmp+1==s&&*tmp=='.')return 0;
| if((s==tmp||tmp+1==s)&&*tmp=='.')return 1;
| if(s==tmp||tmp+1==s&&*tmp=='.')return 1;
2 pont
5. Az egesze függvény ellenőrzi, hogy a paraméterként kapott karakterlánc formátuma megfelelő-e. Ha igen, 1 értékkel, különben 0-val tér vissza. A függvény hiányos. Jelölje meg azt a sort, mellyel a függvény helyesen fog működni! /* Hiányzó sor. */ #define HSZ sizeof(int)/sizeof(short)*5 int egesze(const char *s){ int i = 0; const char* kezd; while(isspace(*s)) ++s; if(*s=='+' || *s=='-') ++s; kezd = s; while(isdigit(*s) && s-kezd<HSZ) ++s; if(kezd==s || !isspace(*s)&&s[i]!=0) return 0; else return 1; }
| #define <stdio.h>
| #define <string.h>
| #define <ctype.h>
| #include <stdio.h>
| #include <string.h>
| #include <ctype.h>
2 pont
6. A paros függvény feladata megszámolni és visszaadni, hogy a paraméterként kapott n elemű tömbben hány páros szám szerepel. A függvény hiányos. Jelölje meg azt a sort, mellyel a függvény helyesen fog működni! int paros(const int *t, int n) { int db = 0, i; for(i=0; i<n; i++) /* Hiányzó sor. */ return db; }
| if(!t[i]%2) db++;
| if(!(t[i]%2)) db++;
| if(!t[i]/2) db++;
| if(!(t[i]/2)) db++;
2 pont
7. A program bekér öt lottószámot. Ha valamelyiket korábban már megadták, újat kér helyette, de ezen kívül mást nem ellenőriz. A program hiányos. Jelölje meg azt a sort, amivel helyesen fog működni! #include<stdio.h> void main(void) { /* Hiányzó sor. */ int uj, i; for(i=1; i<=5; i++) { do { printf("Kerem a %d. szamot! ", i); scanf("%d", &uj); if(szamok[uj]) printf("Ez mar volt!\n"); } while(szamok[uj]); szamok[uj]=1; } }
| int szamok[90];
| int szamok[90] = {0};
| int szamok[91];
| int szamok[91] = {0};
2 pont
8. A szamtani függvény minden hívása visszaadja annak a számtani sorozatnak a következő elemét, melynek első eleme elso, és az elemek közötti különbség kul. A függvény hiányos. Jelölje meg azt a sort, mellyel a függvény helyesen fog működni! double szamtani(double elso, double kul) { static double kov = DBL_MAX; /* Hiányzó sor. */ else return kov = kov+kul; }
| if(kov == elso) return kov;
| if(elso == DBL_MAX) return kov;
| if(kov == DBL_MAX) return kov = elso;
| if(kov == DBL_MAX) return elso;
| if(kov == kul) return elso = kov;
| if(kov == elso) return kov = DBL_MAX;
2 pont
9. Olyan makróra van szükség, amely megbízhatóan képes paramétere négyzetét szolgáltatni. Jelölje meg az erre alkalmasat!
| #define sqr(x) ((x)*(x));
| #define sqr(x) ((x)*(x))
| #define sqr (x) ((x)*(x))
| #define sqr(double x) ((x)*(x))
2 pont
10. A getline függvény beolvas az s karaktertömbbe legfeljebb lim darab karaktert, majd a beolvasott karakterek számával tér vissza. A függvény hiányos. Jelölje meg azt a sort, mellyel a függvény helyesen fog működni! #include<stdio.h> int gl(char *s, int lim){ int c; char *t=s; /* Hiányzó sor. */ *s='\0'; while(c!=EOF&&c!='\n') c=getchar(); return(s-t); }
| while(lim-->0&&((c=getchar())!=EOF||c!='\n'))*s++=c;
| while(--lim>0&&((c=getchar())!=EOF||c!='\n'))*s++=c;
| while(lim-->0&&(c=getchar())!=EOF&&c!='\n')*s++=c;
| while(--lim>0&&(c=getchar())!=EOF&&c!='\n')*s++=c;
2 pont